/**
 * Proyecto: Cognitum
 * Global IT Services 2008
 * @author Mislas
 */
Cognitum.Aplicacion.Seguridad.Usuario.Editor = Ext.extend(Karma.EBTab, {

    initComponent: function(){
        Ext.apply(this, {
            sections: [{
                title: 'Datos generales',
                items: this.isNew ? [{
                    fieldLabel: 'Nombre',
                    name: 'Nombre'
                }, {
                    fieldLabel: 'Nombre de usuario',
                    name: 'Username'
                }, {
                    fieldLabel: 'Contraseña',
                    name: 'ConfirmacionPassword',
                    inputType: 'password',
                    minLength: 8
                }, {
                    fieldLabel: 'Email',
                    name: 'Email',
                    vtype: 'email'
                }, {
                    xtype: 'entity.link',
                    entityName: 'Perfil',
                    fieldLabel: 'Perfil',
                    name: 'Perfil'
                }, {
                    xtype: 'enum.combo',
                    enumName: 'Cognitum.Dominio.Aplicacion.EstatusEnum',
                    fieldLabel: 'Estatus',
                    name: 'Estatus'
                }, {
                    xtype: 'entity.link',
                    fieldLabel: 'Puesto',
                    entityName: 'Puesto',
                    name: 'Puesto'
                }] : [{
                    fieldLabel: 'Nombre',
                    name: 'Nombre'
                }, {
                    fieldLabel: 'Nombre de usuario',
                    name: 'Username'
                }, {
                    fieldLabel: 'Email',
                    name: 'Email',
                    vtype: 'email'
                }, {
                    xtype: 'entity.link',
                    entityName: 'Perfil',
                    fieldLabel: 'Perfil',
                    name: 'Perfil'
                }, {
                    xtype: 'enum.combo',
                    enumName: 'Cognitum.Dominio.Aplicacion.EstatusEnum',
                    fieldLabel: 'Estatus',
                    name: 'Estatus'
                }, {
                    xtype: 'entity.link',
                    fieldLabel: 'Puesto',
                    entityName: 'Puesto',
                    name: 'Puesto'
                }, {
                    xtype: 'checkbox',
                    fieldLabel: 'Sesion iniciada',
                    name: 'SesionIniciada'
                }, {
                    xtype: 'datefield',
                    fieldLabel: 'Ultimo acceso',
                    name: 'UltimoAcceso',
					disabled: true
                }]
            }, {
                xtype: 'sec.editor',
                title: 'Seguridad'
            }, {
                xtype: 'aud.editor',
                title: 'Datos Registro'
            }]
        });
        Cognitum.Aplicacion.Seguridad.Usuario.Editor.superclass.initComponent.apply(this, arguments);
        this.addEvents({
            'cambiar': true
        });
    },
    getTBarCustomControls: function(){
        return [{
            xtype: 'button',
            text: 'Cambiar contraseña',
            handler: this.onCambiar,
            scope: this,
            disabled: this.isNew
        }];
    },
    onCambiar: function(){
        Ext.ComponentMgr.create({
            listeners: {
                'cambiar': {
                    fn: function(anterior, nuevo){
                        if (LOG.isDebugEnabled()) {
                            LOG.debug('[Usuario.Editor.cambiarPwd] <-');
                        }
                        this.fireEvent('cambiar', this.value.Id, anterior, nuevo);
                        if (LOG.isDebugEnabled()) {
                            LOG.debug('[Usuario.Editor.cambiarPwd] ->');
                        }
                    },
                    scope: this
                }
            }
        }, 'usr.pwd.frm');
    }
});

Ext.reg('usr.editor', Cognitum.Aplicacion.Seguridad.Usuario.Editor);
